package dto

import "gitee.com/zenpk/backend-demo/internal/dal"

// AddNextReq 添加下一次记录请求
type AddNextReq struct {
	StudentNum        string `json:"studentNum"`
	MainComplaint     string `json:"main_complaint"`
	Problem           string `json:"problem"`
	Experience        string `json:"experience"`
	FamilyHistory     string `json:"family_history"`
	MentalState       string `json:"mental_state"`
	DangerEstimate    string `json:"danger_estimate"`
	ConsultProblem    string `json:"consult_problem"`
	CrisisInterfere   string `json:"crisis_interfere"`
	MentalObstacle    string `json:"mental_obstacle"`
	Index             int64  `json:"index"`
	Filename          string `json:"filename"`
	Fileformat        string `json:"fileformat"`
	Filesize          string `json:"filesize"`
	Uploadtime        string `json:"uploadtime"`
	ConsultantName    string `json:"consultant_name"` //咨询师
	ConsultantAccount string `json:"consultant_account"`
	StartTime         string `json:"starttime"`
	EndTime           string `json:"endtime"`
	ConsultContent    string `json:"consultcontent"`
	HandleAdvice      string `json:"handleadvice"`
}

// AddNextResp 添加下一次记录响应
type AddNextResp struct {
	SuccessCode int64  `json:"success_code"` // 1 成功 0 失败
	Msg         string `json:"msg"`          // 错误原因
}

// GetStudentConsultRecordReq 获取学生咨询记录表单请求
type GetStudentConsultRecordReq struct {
	Page     int64 `json:"page"`
	Pagesize int64 `json:"pagesize"`
}

// GetStudentConsultRecordResp 获取学生咨询记录表单响应
type GetStudentConsultRecordResp struct {
	SuccessCode int64                      `json:"success_code"` // 1 成功 0 失败
	Msg         string                     `json:"msg"`          // 错误原因
	Data        []dal.StudentConsultRecord `json:"data"`
}

// DeleteStudentConsultRecordReq 删除单个学生咨询记录表单请求 ,重新开启单个咨询记录请求和结案单个咨询记录请求
type DeleteStudentConsultRecordReq struct {
	RecordID int64 `json:"recordid"`
}

// DeleteStudentConsultRecordResp 删除单个学生咨询记录表单响应
type DeleteStudentConsultRecordResp struct {
	SuccessCode int64  `json:"success_code"` // 1 成功 0 失败
	Msg         string `json:"msg"`          // 错误原因
}

// ReopenConsultSituationResp 重新开启单个咨询记录响应
type ReopenConsultSituationResp struct {
	SuccessCode int64  `json:"success_code"` // 1 成功 0 失败
	State       int64  `json:"state"`        //1表示已经结案，0表示未结案
	Msg         string `json:"msg"`          // 错误原因
}

// GiveEndResp 结案单个咨询记录响应
type GiveEndResp struct {
	SuccessCode int64  `json:"success_code"` // 1 成功 0 失败
	State       int64  `json:"state"`        //1表示已经结案，0表示未结案
	Msg         string `json:"msg"`          // 错误原因
}

// EditStudentConsultRecordReq 编辑单个学生咨询记录表单请求
type EditStudentConsultRecordReq struct {
	Recordid     int64  `json:"recordid"`
	StudentNum   string `json:"studentNum"`
	Name         string `json:"name"`
	Gender       string `json:"gender"`
	Organization string `json:"organization"`
	Consulttime  string `json:"consulttime"` //startTime
	Handleadvice string `json:"handleadvice"`
	Ended        int64  `json:"ended"`      //是否结案（1已结案，0未结案）
	Committime   string `json:"committime"` //endTime
	Consultans   string `json:"consultans"` //ConsultTime(咨询次数）
}

// EditStudentConsultRecordResp 编辑单个学生咨询记录表单响应
type EditStudentConsultRecordResp struct {
	SuccessCode int64  `json:"success_code"` // 1 成功 0 失败
	Msg         string `json:"msg"`          // 错误原因
}

// AddStudentConsultRecordReq 添加单个学生咨询记录表单请求
type AddStudentConsultRecordReq struct {
	Recordid     int64  `json:"recordid"`
	StudentNum   string `json:"studentNum"`
	Name         string `json:"name"`
	Gender       string `json:"gender"`
	Organization string `json:"organization"`
	Consulttime  string `json:"consulttime"` //startTime
	Handleadvice string `json:"handleadvice"`
	Ended        int64  `json:"ended"`      //是否结案（1已结案，0未结案）
	Committime   string `json:"committime"` //endTime
	Consultans   string `json:"consultans"` //ConsultTime(咨询次数）
}

// AddStudentConsultRecordResp 添加单个学生咨询记录表单响应
type AddStudentConsultRecordResp struct {
	SuccessCode int64  `json:"success_code"` // 1 成功 0 失败
	Msg         string `json:"msg"`          // 错误原因
}

// GetStudentConsultRecordByParaReq 按条件查询咨询学生咨询记录表单请求
type GetStudentConsultRecordByParaReq struct {
	ParaArray    []int  `json:"para_array"`
	StudentNum   string `json:"student_Num"`
	Name         string `json:"name"`
	Gender       string `json:"gender"`
	Organization string `json:"organization"`
	Handleadvice string `json:"handle_advice"`
	Ended        int64  `json:"ended"`     //是否结案（1已结案，0未结案）
	DateScale    string `json:"datescale"` //日期范围
	Page         int64  `json:"page"`
	Pagesize     int64  `json:"pagesize"`
}

// GetStudentConsultRecordByParaResp 按条件查询咨询学生咨询记录表单响应
type GetStudentConsultRecordByParaResp struct {
	SuccessCode int64                      `json:"success_code"` // 1 成功 0 失败
	Msg         string                     `json:"msg"`          // 错误原因
	Data        []dal.StudentConsultRecord `json:"data"`
}

// GetConsultSituationReq 获取测评记录请求
type GetConsultSituationReq struct {
	StudentNum string `json:"studentNum"`
}

// GetConsultSituationResp 获取测评记录响应
type GetConsultSituationResp struct {
	SuccessCode    int64                  `json:"success_code"` // 1 成功 0 失败
	Msg            string                 `json:"msg"`          // 获得学生数据成功
	StudentNum     string                 `json:"student_num"`
	SituationArray []dal.ConsultSituation `json:"situation_array"`
}
